package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.JyjcSharingExpenses;
import com.ruoyi.system.domain.JyjcSharingExpensesData;

/**
 * 费用分摊Mapper接口
 * 
 * @author 石亚兵
 * @date 2025-07-09
 */
public interface JyjcSharingExpensesMapper 
{
    /**
     * 查询费用分摊
     * 
     * @param id 费用分摊主键
     * @return 费用分摊
     */
    public JyjcSharingExpenses selectJyjcSharingExpensesById(Long id);

    /**
     * 查询费用分摊列表
     * 
     * @param jyjcSharingExpenses 费用分摊
     * @return 费用分摊集合
     */
    public List<JyjcSharingExpenses> selectJyjcSharingExpensesList(JyjcSharingExpenses jyjcSharingExpenses);

    /**
     * 新增费用分摊
     * 
     * @param jyjcSharingExpenses 费用分摊
     * @return 结果
     */
    public int insertJyjcSharingExpenses(JyjcSharingExpenses jyjcSharingExpenses);
    /**
    审核完以后同步到报表中
     */
    public int allsumlistTBjyjcallsumlis(JyjcSharingExpenses jyjcSharingExpenses);
    /**
     * 修改费用分摊
     * 
     * @param jyjcSharingExpenses 费用分摊
     * @return 结果
     */
    public int updateJyjcSharingExpenses(JyjcSharingExpenses jyjcSharingExpenses);

    /**
     * 删除费用分摊
     * 
     * @param id 费用分摊主键
     * @return 结果
     */
    public int deleteJyjcSharingExpensesById(Long id);

    /**
     * 批量删除费用分摊
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteJyjcSharingExpensesByIds(Long[] ids);

    /**
     * 批量删除分摊费用子
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteJyjcSharingExpensesDataBySeIds(Long[] ids);
    
    /**
     * 批量新增分摊费用子
     * 
     * @param jyjcSharingExpensesDataList 分摊费用子列表
     * @return 结果
     */
    public int batchJyjcSharingExpensesData(List<JyjcSharingExpensesData> jyjcSharingExpensesDataList);


    /**
     * 批量新增分摊费用子
     *
     * @return 结果
     */
    public int batchJyjcSharingExpenses(List<JyjcSharingExpenses> jyjcSharingExpensesList);

    /**
     * 通过费用分摊主键删除分摊费用子信息
     * 
     * @param id 费用分摊ID
     * @return 结果
     */
    public int deleteJyjcSharingExpensesDataBySeId(Long id);

    public List<JyjcSharingExpenses> generateData(JyjcSharingExpenses jyjcSharingExpenses);
    public List<JyjcSharingExpensesData> generateDataList(Long seId);
    public int UpdateFlag(JyjcSharingExpenses jyjcSharingExpenses);
}
